//登录退出相关操作
import { $login } from '@/api/user';
// 引入路由
import router from '@/router'; //@ 绝对路径  ，从 src 开始；  router/index.js   但是  index.js 可以省略不写
// 用户相关子树
const user = {
    state: {
        account: "",//用户名
        username: "",//中文名字
        type: "",//权限  1 超级管理员（可以对普通管理员进行账户的增删查改、分配权限）  2 普通管理员
        token: ""//令牌，登录成功后，后台会给该用户颁发一个唯一的token凭证，后面的所有api获取都需要向后台传送这个凭证，如果 token 不正确或过期，api接口会报错，获取不到数据
    },
    mutations: {
        SET_ACCOUNT(state, account) {
            state.account = account;
        },
        SET_USERNAME(state, username) {
            state.username = username;
        },
        SET_TYPE(state, type) {
            state.type = type;
        },
        SET_TOKEN(state, token) {
            state.token = token;
        }
    },
    actions: {
        //登录
        LoginAction({ commit }, userInfo) {
            console.log(commit);
            //1.调用后台接口
            $login(userInfo).then(res => {
                console.log(res);
                //2.如果登录成功，将数据保存到 vuex 中,登录成功后，页面跳转到 首页
                if (res.data.msg == 'success') {
                    commit('SET_ACCOUNT', res.data.data.account);
                    commit('SET_USERNAME', res.data.data.username);
                    commit('SET_TYPE', res.data.data.type);
                    commit('SET_TOKEN', res.data.token);
                    // 页面跳转
                    router.push('/home/dashboard');
                }
                //3.如果登录失败 ，需要报错
            })


        }
        //退出
    }
}

export default user;